package com.bsg.upm.entity;

import java.io.Serializable;
import java.util.List;

/**
 * 订单实体类
 * 
 * @author HCK
 *
 */
public class OrderEntity extends BaseEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 订单编码
	 */
	private String id;

	/**
	 * 所属服务定义
	 */
	private DefinitionServEntity definitionServ;

	/**
	 * 服务名
	 */
	private String servName;

	/**
	 * 编号
	 */
	private Integer no;

	/**
	 * 所属区域
	 */
	private AreaEntity area;

	/**
	 * 所属业务子系统
	 */
	private BusinessSubSystemEntity businessSubSystem;

	/**
	 * 订单类型
	 */
	private String type;

	/**
	 * 订单状态
	 */
	private String status;

	/**
	 * 订单状态信息
	 */
	private String msg;

	/**
	 * 所属者
	 */
	private String owner;

	/**
	 * 是否为分片结构
	 */
	private Boolean sharding;

	/**
	 * 关联订单编码
	 */
	private String associateOrderId;

	/**
	 * 包含子订单
	 */
	private List<SubOrderEntity> subOrders;

	/**
	 * 产生服务
	 */
	private ServEntity serv;

	/**
	 * 获取订单编码
	 * 
	 * @return id 订单编码
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置订单编码
	 * 
	 * @param id
	 *            订单编码
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取所属服务定义
	 * 
	 * @return definitionServ 所属服务定义
	 */
	public DefinitionServEntity getDefinitionServ() {
		return definitionServ;
	}

	/**
	 * 设置所属服务定义
	 * 
	 * @param definitionServ
	 *            所属服务定义
	 */
	public void setDefinitionServ(DefinitionServEntity definitionServ) {
		this.definitionServ = definitionServ;
	}

	/**
	 * 获取服务名
	 * 
	 * @return servName 服务名
	 */
	public String getServName() {
		return servName;
	}

	/**
	 * 设置服务名
	 * 
	 * @param servName
	 *            服务名
	 */
	public void setServName(String servName) {
		this.servName = servName;
	}

	/**
	 * 获取编号
	 * 
	 * @return no 编号
	 */
	public Integer getNo() {
		return no;
	}

	/**
	 * 设置编号
	 * 
	 * @param no
	 *            编号
	 */
	public void setNo(Integer no) {
		this.no = no;
	}

	/**
	 * 获取所属区域
	 * 
	 * @return area 所属区域
	 */
	public AreaEntity getArea() {
		return area;
	}

	/**
	 * 设置所属区域
	 * 
	 * @param area
	 *            所属区域
	 */
	public void setArea(AreaEntity area) {
		this.area = area;
	}

	/**
	 * 获取所属业务子系统
	 * 
	 * @return businessSubSystem 所属业务子系统
	 */
	public BusinessSubSystemEntity getBusinessSubSystem() {
		return businessSubSystem;
	}

	/**
	 * 设置所属业务子系统
	 * 
	 * @param businessSubSystem
	 *            所属业务子系统
	 */
	public void setBusinessSubSystem(BusinessSubSystemEntity businessSubSystem) {
		this.businessSubSystem = businessSubSystem;
	}

	/**
	 * 获取订单类型
	 * 
	 * @return type 订单类型
	 */
	public String getType() {
		return type;
	}

	/**
	 * 设置订单类型
	 * 
	 * @param type
	 *            订单类型
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * 获取订单状态
	 * 
	 * @return status 订单状态
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置订单状态
	 * 
	 * @param status
	 *            订单状态
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取订单状态信息
	 * 
	 * @return msg 订单状态信息
	 */
	public String getMsg() {
		return msg;
	}

	/**
	 * 设置订单状态信息
	 * 
	 * @param msg
	 *            订单状态信息
	 */
	public void setMsg(String msg) {
		this.msg = msg;
	}

	/**
	 * 获取所属者
	 * 
	 * @return owner 所属者
	 */
	public String getOwner() {
		return owner;
	}

	/**
	 * 设置所属者
	 * 
	 * @param owner
	 *            所属者
	 */
	public void setOwner(String owner) {
		this.owner = owner;
	}

	/**
	 * 获取是否为分片结构
	 * 
	 * @return sharding 是否为分片结构
	 */
	public Boolean getSharding() {
		return sharding;
	}

	/**
	 * 设置是否为分片结构
	 * 
	 * @param sharding
	 *            是否为分片结构
	 */
	public void setSharding(Boolean sharding) {
		this.sharding = sharding;
	}

	/**
	 * 获取关联订单编码
	 * 
	 * @return associateOrderId 关联订单编码
	 */
	public String getAssociateOrderId() {
		return associateOrderId;
	}

	/**
	 * 设置关联订单编码
	 * 
	 * @param associateOrderId
	 *            关联订单编码
	 */
	public void setAssociateOrderId(String associateOrderId) {
		this.associateOrderId = associateOrderId;
	}

	/**
	 * 获取包含子订单
	 * 
	 * @return subOrders 包含子订单
	 */
	public List<SubOrderEntity> getSubOrders() {
		return subOrders;
	}

	/**
	 * 设置包含子订单
	 * 
	 * @param subOrders
	 *            包含子订单
	 */
	public void setSubOrders(List<SubOrderEntity> subOrders) {
		this.subOrders = subOrders;
	}

	/**
	 * 获取产生服务
	 * 
	 * @return serv 产生服务
	 */
	public ServEntity getServ() {
		return serv;
	}

	/**
	 * 设置产生服务
	 * 
	 * @param serv
	 *            产生服务
	 */
	public void setServ(ServEntity serv) {
		this.serv = serv;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "OrderEntity [id=" + id + ", definitionServ=" + definitionServ + ", servName=" + servName + ", no=" + no
				+ ", area=" + area + ", businessSubSystem=" + businessSubSystem + ", type=" + type + ", status="
				+ status + ", msg=" + msg + ", owner=" + owner + ", sharding=" + sharding + ", associateOrderId="
				+ associateOrderId + ", subOrders=" + subOrders + ", serv=" + serv + "]";
	}

}
